package com.gaoxin.api.dao.selectcourse;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.gaoxin.api.entity.selcourseentity.SelectCourse;

import org.apache.ibatis.annotations.Param;

/**
 * 选课Mapper
 * @author zhaozhenshe
 * 2018-08-06
 */
@Mapper
public interface SelectCourseMapper {
	/**
	 * 查询某个学生当前所有的可选课程信息
	 * @param stuNumber
	 * @return
	 */
	public List<SelectCourse> findAllSelectCourse(@Param("stuNumber") String stuNumber);
	/**
	 * 模糊查询某个学生当前所有的可选课程信息
	 * @param stuNumber
	 * @param courseName
	 * @return
	 */
	public List<SelectCourse> findLikeSelectCourse(@Param("stuNumber") String stuNumber,@Param("courseName") String courseName);
	/**
	 * 根据课程id查询所选课程具体信息
	 * @param courseId
	 * @return
	 */
	public List<SelectCourse> queryCourseInfo(@Param("courseId") String courseId ,@Param("teacherId") String teacherId,@Param("classroomId") String classroomId,@Param("id") String id);
	/**
	 * 查询某门课程所能选的总人数
	 * @return
	 */
	public int queryTotalNumber(@Param("courseId") String courseId ,@Param("teacherId") String teacherId,@Param("classroomId") String classroomId,@Param("id") String id);
	/**
	 * 查询某门课程已选人数
	 * @return
	 */
	public int querySelectedNumber(@Param("courseId") String courseId ,@Param("teacherId") String teacherId,@Param("classroomId") String classroomId,@Param("id") String id);
	/**
	 * 查询当前学年学期的可以选课的时间段
	 * @return
	 */
	public SelectCourse findBTimeAndETime();
	/**
	 * 保存学生选课信息
	 * @param courseId
	 * @param teacherId
	 * @param classroomId
	 * @param stuNumber
	 * @return
	 */
	public int saveStuSelctionCourse(@Param("courseId") String courseId ,@Param("teacherId") String teacherId,@Param("classroomId") String classroomId,@Param("stuNumber") String stuNumber,@Param("id") String id);
	/**
	 * 删除所选课程
	 * @param selectCourse
	 * @return
	 */
	public int deleteStuSelctionCourse(SelectCourse selectCourse);
	/**
	 * 查询学生的所选课程信息
	 * @param selectCourse
	 * @return
	 */
	public List<SelectCourse> findStuSelectedCourse(SelectCourse selectCourse);
	/**
	 * 查询学生已选课程门数
	 * @param selectCourse
	 * @returnN]
	 */
	public int findStudentCourseNumber(String stuNumber);
}
